/*
 * BaseReclamoDAO.java
 *
 * Created on 12 de marzo de 2007, 04:18 PM
 *
 * To change this template, choose Tools | Options and locate the template under
 * the Source Creation and Management node. Right-click the template and choose
 * Open. You can then make changes to the template in the Source Editor.
 */

package com.src.computec.radar.reclamos.reclamo.dao;

import com.src.computec.radar.base.dao.exception.DAOException;
import com.src.computec.radar.reclamos.reclamo.dto.BusquedaDto;
import com.src.computec.radar.reclamos.reclamo.dto.EnvioRecomendadoDto;
import com.src.computec.radar.reclamos.reclamo.dto.ReclamoDto;
import com.src.computec.radar.reclamos.reclamo.dto.ReclamoSeguimientoDto;
import com.src.computec.radar.reclamos.reclamo.exception.ReclamoException;
import java.util.List;

/**
 *
 * @author aocampo
 */
public interface BaseReclamoDAO {
    
    public boolean isExistReclamoAbierto(ReclamoDto dto) throws DAOException;
    
    public void insertReclamoSeguimiento(ReclamoSeguimientoDto dto) throws DAOException, ReclamoException;
    
    public String insertReclamo(ReclamoDto dto) throws DAOException;
    
    public String updateReclamo(ReclamoDto dto) throws DAOException;
    
    public ReclamoDto getReclamoByPrimaryKey(String codigoReclamo) throws DAOException;
    
    public List getReclamosByBusqueda(BusquedaDto dto) throws DAOException;
    
    public int calculateAlarmasReclamos() throws DAOException;
    
    public int calculateDuracionMovimientosMasivo() throws DAOException;
    
    public List getHistoricoReclamacion(ReclamoDto dto) throws DAOException;
    
    public List getHistoricoEnvios(ReclamoDto dto) throws DAOException;
    
    public List getConsecutivosEnvio(ReclamoDto dto) throws DAOException;
    
    public List getSeguimientosByReclamo(ReclamoDto dto) throws DAOException;
    
    public List getMovimientosByReclamo(ReclamoDto dto) throws DAOException;
    
    public void processAction(ReclamoDto dto) throws DAOException;
    
    public void processActionCerrarReclamo(ReclamoDto dto) throws DAOException;
    
    public boolean insertEnvioRecomendado(EnvioRecomendadoDto dto) throws DAOException;
    
    public void updateReclamosResponsable(List listCodigosReclamos, String uidResponsable, String uidMovimiento) throws DAOException;
    
    public void insertMensajeAlerta(String fileName, String ldapUser, int numeroRegistros) throws DAOException;
    
    public List getResponsablesReclamo() throws DAOException;
    
    public List getEventosReclamo() throws DAOException;
    
    public List getRespuestasReclamoByCodigoBarras(String codigoBarras) throws DAOException;
    
    public int updateRespuestasReclamos() throws DAOException;
}